home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga Plus 2004 #11
/
Amiga Plus CD - 2004 - No. 11.iso
/
AmiSoft
/
Text
/
misc
/
APLKonwerter.lha
/
APLKonwerter.rexx
< prev
next >
Wrap
OS/2 REXX Batch file
|
2004-08-13
|
8KB
|
274 lines
/* AmigaPL Konwerter by Mario (AMario@wp.pl), $VER: APLKonwerter 1.0
Freeware... but do not publish modyfied code! */
signal on halt
signal on break_c
call init
call createApp
call handleApp
/***********************************************************************/
init: procedure
l="rmh.library";if ~show("L",l) then;if ~addlib(l,0,-30) then exit
if AddLibrary("rxmui.library")~=0 then exit
call ProgDir()
return
/***********************************************************************/
handleApp: procedure
ctrl_c=2**12
do forever
call newhandle("APP","H",ctrl_c)
if and(h.signals,ctrl_c)>0 then exit
select
when h.event="QUIT" then exit
otherwise interpret h.event
end
end
/***********************************************************************/
createApp: procedure
app.Title="APLKonwerter"
app.Description="Przykîadowa aplikacja"
app.Base="APLKonwerter"
app.SubWindow="win"
win.ID="MAIN"
win.Title="APLKonwerter"
win.nomenus=1
win.Contents="group"
inf.class="string"
inf.advanceoncr=1
inf.frame="Text"
inf.reject="?#"
ouf.class="string"
ouf.advanceoncr=1
ouf.frame="Text"
ouf.reject="?#"
group.0="info1"
info1.class="text"
info1.contents="Plik zrodlowy:"
group.1="popin"
popin.class="popasl"
popin.sleepapplication=1
popin.string="inf"
popin.type="file"
popin.title="Wybierz plik..."
popin.rejecticons=1
popin.showvolumes=1
group.2="info2"
info2.class="text"
info2.contents="Plik docelowy:"
group.3="popou"
popou.class="popasl"
popou.sleepapplication=1
popou.string="ouf"
popou.type="file"
popou.title="Wybierz plik docelowy..."
popou.rejecticons=1
popou.showvolumes=1
popou.dosavemode=1
group.4=HBar(0)
group.5="otr"
otr.class="group"
otr.Frame="Group"
otr.BackGround="GroupBack"
otr.FrameTitle="Rodzaj konwersji:"
otr.0="tryb"
tryb.class="radio"
tryb.entries="AmigaPL -> Windows|Windows -> AmigaPL"
group.6="opc"
opc.class="group"
opc.Frame="Group"
opc.BackGround="GroupBack"
opc.FrameTitle="Opcje dodatkowe:"
opc.0="opcja"
opcja.class="radio"
opcja.entries="Caîkowita konwersja|Nie zmieniaj returnow|Zmieniaj tylko returny|Usuwaj polskie litery"
group.7=HBar(0)
group.8=button("go","_Start!")
call NewObj("Application","app")
call Notify("win","CloseRequest",1,"app","ReturnID","quit")
call Notify("go","Pressed",0,"app","Return","call konwersja")
call set("win","Open",1)
/*call domethod("group",initchange)
call domethod("group",exitchange)*/
return
/***********************************************************************/
halt:
break_c:
exit
/***********************************************************************/
konwersja:
get.0="inf"
get.0.attr="Contents"
get.1="ouf"
get.1.attr="Contents"
get.2="tryb"
get.2.attr="Active"
get.3="opcja"
get.3.attr="Active"
call MultiGetAttr("get")
if get.0.value="" then
do
temp=muirequest("app","win","A plik?","Juz podaje...","Nie podales zadnej nazwy pliku zrodlowego!")
return
end
if exists(get.0.value)=0 then
do
temp=muirequest("app","win","Nie ma takiego pliku!","Spokojnie...","Podana nazwa pliku zrodlowego jest nieprawidlowa!")
return
end
if get.1.value="" then
do
temp=muirequest("app","win","A plik?","Juz podaje...","Nie podales zadnej nazwy pliku docelowego!")
return
end
if get.0.value=get.1.value then
do
temp=muirequest("app","win","Bîâd!","OK","Niestety plik zrodlowy i docelowy musi byc rozny.")
return
end
if ((get.1.value~="con:") & exists(get.1.value)=1) then
do
temp=muirequest("app","win","Komunikat","Nadpisz|Anuluj","Plik docelowy juz istnieje. Nadpisac go?")
if temp=0 then return
end
if open("wej",get.0.value,"R")~=1 then
do
temp=muirequest("app","win","Bîâd!","OK","Nie moge otworzyc pliku zrodlowego!")
return
end
if open("wyj",get.1.value,"W")~=1 then
do
temp=muirequest("app","win","Bîâd!","OK","Nie moge otworzyc pliku docelowego!")
return
end
call domethod("group",initchange)
temp=remove("go")
temp=set("win","title","Czekaj...")
call domethod("group",exitchange)
/* Poczatek procedury konwersji pliku */
do until eof("wej")
literka=readch("wej")
if get.2.value=0 then
do
/*AmigaPL -> Windows*/
if get.3.value<2 then
do
if c2d(literka)=226 then literka=d2c(185)
if c2d(literka)=234 then literka=d2c(230)
if c2d(literka)=235 then literka=d2c(234)
if c2d(literka)=238 then literka=d2c(179)
if c2d(literka)=239 then literka=d2c(241)
if c2d(literka)=244 then literka=d2c(156)
if c2d(literka)=251 then literka=d2c(191)
if c2d(literka)=250 then literka=d2c(159)
if c2d(literka)=194 then literka=d2c(165)
if c2d(literka)=202 then literka=d2c(198)
if c2d(literka)=203 then literka=d2c(202)
if c2d(literka)=206 then literka=d2c(163)
if c2d(literka)=207 then literka=d2c(209)
if c2d(literka)=212 then literka=d2c(140)
if c2d(literka)=219 then literka=d2c(175)
if c2d(literka)=218 then literka=d2c(143)
end
if get.3.value=3 then
do
if c2d(literka)=226 then literka=d2c(97)
if c2d(literka)=234 then literka=d2c(99)
if c2d(literka)=235 then literka=d2c(101)
if c2d(literka)=238 then literka=d2c(108)
if c2d(literka)=239 then literka=d2c(110)
if c2d(literka)=243 then literka=d2c(111)
if c2d(literka)=244 then literka=d2c(115)
if c2d(literka)=251 then literka=d2c(122)
if c2d(literka)=250 then literka=d2c(122)
if c2d(literka)=194 then literka=d2c(65)
if c2d(literka)=202 then literka=d2c(67)
if c2d(literka)=203 then literka=d2c(69)
if c2d(literka)=206 then literka=d2c(76)
if c2d(literka)=207 then literka=d2c(78)
if c2d(literka)=211 then literka=d2c(79)
if c2d(literka)=212 then literka=d2c(83)
if c2d(literka)=219 then literka=d2c(90)
if c2d(literka)=218 then literka=d2c(90)
end
if (get.3.value~=1) & (c2d(literka)=10) then
do
literka=d2c(13)
temp=writech("wyj",literka)
literka=d2c(10)
end
end
if get.2.value=1 then
do
/*Windows -> AmigaPL*/
if get.3.value<2 then
do
if c2d(literka)=185 then literka=d2c(226)
if c2d(literka)=234 then literka=d2c(235)
if c2d(literka)=230 then literka=d2c(234)
if c2d(literka)=179 then literka=d2c(238)
if c2d(literka)=241 then literka=d2c(239)
if c2d(literka)=156 then literka=d2c(244)
if c2d(literka)=191 then literka=d2c(251)
if c2d(literka)=159 then literka=d2c(250)
if c2d(literka)=165 then literka=d2c(194)
if c2d(literka)=202 then literka=d2c(203)
if c2d(literka)=198 then literka=d2c(202)
if c2d(literka)=163 then literka=d2c(206)
if c2d(literka)=209 then literka=d2c(207)
if c2d(literka)=140 then literka=d2c(212)
if c2d(literka)=175 then literka=d2c(219)
if c2d(literka)=143 then literka=d2c(218)
end
if get.3.value=3 then
do
if c2d(literka)=185 then literka=d2c(97)
if c2d(literka)=230 then literka=d2c(99)
if c2d(literka)=234 then literka=d2c(101)
if c2d(literka)=179 then literka=d2c(108)
if c2d(literka)=241 then literka=d2c(110)
if c2d(literka)=243 then literka=d2c(111)
if c2d(literka)=156 then literka=d2c(115)
if c2d(literka)=191 then literka=d2c(122)
if c2d(literka)=159 then literka=d2c(122)
if c2d(literka)=165 then literka=d2c(65)
if c2d(literka)=202 then literka=d2c(69)
if c2d(literka)=198 then literka=d2c(67)
if c2d(literka)=163 then literka=d2c(76)
if c2d(literka)=209 then literka=d2c(78)
if c2d(literka)=211 then literka=d2c(79)
if c2d(literka)=140 then literka=d2c(83)
if c2d(literka)=175 then literka=d2c(90)
if c2d(literka)=143 then literka=d2c(90)
end
end
if get.2.value=0 then temp=writech("wyj",literka)
if (get.2.value=1) & (get.3.value=1) then temp=writech("wyj",literka)
if (get.2.value=1) & (get.3.value~=1) then
do
if c2d(literka)~=13 then temp=writech("wyj",literka)
end
end
/* Koniec procedury konwersji pliku */
temp=close("wyj")
temp=close("wej")
call domethod("group",initchange)
temp=add("group","go")
temp=set("win","title","APLKonwerter")
call domethod("group",exitchange)
return